%###########%##%%##%##############################################%%%
%#####%###%%%##%%#+#######%##%%##%%#%%#####%%%##%#%##%%%###########%%
%###########%##%%#+=*#*+++#########################################%%
%###########%###*+===#%%###########################################%%
%###########%##==++++***#%#########################################%%
%###########%%#+****+**###%########################################%%
%############%%##**##**+*###########################################%
%###########%#%%%##*#####*#####################################%%%%%%
%###########%####%%%####%####*#################################%%%%#%
%###########%####%#%%#####*####%############%%%##%%%%#%%%%%#####*####
%###########%######%@**+###**%%#%%##########%%%#************########%
%###########%####%#%@*+*###**%#%%##**++*#%%%#*++**#****+++==-=*#%%%##
%###########%####%%######%%#%%#####****+-=*****+-::......:-+*%%%#*++*
%#################%%%%####*+=--:::...:+##*#*+-:.......:-+#%%%#**+==+#
#####################@%**###*++:::::...-++=:.....:::-+#%%%#**+===+##%
*++=*#%%##%%%%%##*###*+=+++++%%+:::::::::::::::::-+######*++=-==:-+*#
*****+****+++*+=--=#%+::-+++#@#:::::::::::::::=+######*++=-=++-.--=+*
=---*%#+++++++++++%@@####%%%%#-::::::::::::::=#####*++==-=+=::::-:-==
--=#%%%%%@%++++++**#******%@#-:::::::::::::::::+####+----=*::=====+-+
=-===----*#***####*++++++*@@*=::::::::::::::::::-+###*=---=*=:---+*-=
@@%------****+#%@#----==+@@*==-:::::::::::::::::::-*###*=--=*=----+=*
%#------------##*-----:=%@*====+-:::::::::::::::::::=*###+===++-=**=*
******#***+++++++++++*#@@%**#%%@%+++++++++++++++++++++#%%%#***###*#%%